import Vue from 'vue'
import App from './App.vue'

//三级联动组件--全局组件
import TypeNav from '@/components/TypeNav'
// 轮播图--全局组件
import Carousel from '@/components/Carousel'
//分页器--全局组件
import Pagination from '@/components/Pagination'

//引入路由
import router from '@/router'
//引入vuex仓库
import store from '@/store'
//引入mock假数据,引入才会执行一次不然不执行
import '@/mock/mockServe'
//引入swiper轮播图样式
import 'swiper/css/swiper.css'
//统一接收api里面的全部接口
import * as API from '@/api'
//elementUI组件库按需引入
import { Button, MessageBox } from 'element-ui';

//注册全局组件:第一个参数:全局组件的名字,第二个参数:那一个组件
Vue.component(TypeNav.name, TypeNav)
Vue.component(Carousel.name, Carousel)
Vue.component(Pagination.name, Pagination)

Vue.component(Button.name, Button)
Vue.prototype.$msgbox = MessageBox;
Vue.prototype.$alert = MessageBox.alert;

//关闭提示
Vue.config.productionTip = false

//引入图片懒加载插件
import dlam from '@/assets/1.gif'
import VueLazyload from 'vue-lazyload'
Vue.use(VueLazyload, {
  //懒加载默认图片
  loading: dlam,
})

//引入表单验证插件
import '@/plugins/validate'

new Vue({
  render: h => h(App),
  beforeCreate() {
    Vue.prototype.$bus = this
    Vue.prototype.$API = API
  },
  router,
  store
}).$mount('#app')


//路由懒加载:vue-lazyload
//二维码生成:qrcode
//请求进度条:nprogress
//表单验证(2版本):vee-validate